package com.sti.platform.dao;

import java.util.List;
import java.util.Map;

import com.sti.platform.model.Company;
import com.sti.platform.model.User;
import com.sti.platform.model.UserGroup;
import com.sti.platform.model.UserRole;

public interface UserDao {
	
	
	/**
	 * 根据条件模糊查询用户
	 * @param condition
	 * @return
	 */
	public List<User> queryUsersByCondition(String condition,Integer page,Integer row);
	
	/**
	 * 查询用户信息
	 * @param userId
	 * @return
	 */
	public Map<String,Object> queryUserInfo(String userId) ;
	
	/**
	 * 查询所有的角色
	 * @return
	 */
	public List<Map<String,Object>> queryRole();
	
	/**
	 * 查询所有的单位
	 * @return
	 */
	public List<Company> queryCompany();
	
	/**
	 * 查询所有的用户组
	 * @return
	 */
	public List<Map<String,Object>> queryGroup();
	
	/**
	 * 根据用户组ID和用户ID查询关联表ID
	 * @param userID
	 * @param groupId
	 * @return
	 */
	public List<UserGroup> queryGroup(String userID,String groupId);
	
	/**
	 * 根据用户组ID和角色ID查询关联表ID
	 * @param userID
	 * @param roleId
	 * @return
	 */
	public List<UserRole> queryRole(String userID,String roleId);
	
	/**
	 * 根据用户ID查询关联表ID
	 * @param userID
	 * @return
	 */
	public List<UserGroup> queryGroup(String userID);
	
	/**
	 * 根据用户ID查询关联表ID
	 * @param userID
	 * @return
	 */
	public List<UserRole> queryRole(String userID);
	
	
	/**
	 * 查询用户列表
	 * @return
	 */
	public Integer queryUserSum();
	
	
	public List<User> queryUser(String sql);
	 
}
